import { CozeAPI, ChatStatus, COZE_CN_BASE_URL, RoleType } from '@coze/api';
import dotenv from 'dotenv';
import path from 'path';
import { fileURLToPath } from 'url';

// 获取当前文件的目录
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

// 加载环境变量
dotenv.config({ path: path.join(__dirname, '..', '.env') });

const token = process.env.COZE_API_TOKEN;
const botId = process.env.COZE_BOT_ID;

if (!token || !botId) {
  console.error('错误: 请确保 .env 文件中设置了 COZE_API_TOKEN 和 COZE_BOT_ID');
  process.exit(1);
}

// 创建 Coze API 客户端
const client = new CozeAPI({
  token,
  baseURL: COZE_CN_BASE_URL,
});

// 最简单的测试
const testSimple = async () => {
  try {
    console.log('=== 最简单的 Coze API 测试 ===');
    console.log(`使用 Bot ID: ${botId}`);
    console.log(`使用 Token: ${token.substring(0, 10)}...`);
    
    // 最简单的请求
    const response = await client.chat.createAndPoll({
      bot_id: botId,
      user_id: 'test_user_simple',
      additional_messages: [
        {
          role: RoleType.User,
          content: '你好',
          content_type: 'text'
        }
      ],
      stream: false
    });

    console.log('\n=== 响应 ===');
    console.log('状态:', response.chat.status);
    
    if (response.chat.status === ChatStatus.COMPLETED) {
      const aiMessages = response.messages.filter(
        msg => msg.role === 'assistant' && msg.type === 'answer'
      );
      
      if (aiMessages.length) {
        console.log('\n回复:');
        console.log(aiMessages[0].content);
      } else {
        console.log('\n没有找到 AI 回复');
      }
    } else {
      console.log(`\n对话未完成，状态: ${response.chat.status}`);
    }
    
  } catch (error) {
    console.error('\n错误:', error);
    if (error.response) {
      console.error('错误响应:', {
        status: error.response.status,
        data: error.response.data
      });
    }
  }
};

testSimple(); 